package com.cskaoyan.javase.array._4exception._2null;
/**
 * 空指针异常
 * 空指针异常指的是当数组没有指向一个对象,而指向一个空常量null时,引发的问题
 * 空常量null: 是专属于引用数据类型的一种常量取值.
 * 正常情况下,数组的取值,它的初始化就会指向一个正常的数组对象,但是数组一旦等于null,表示数组没有指向一个数组对象,而指向了虚无(反正没有指向对象)
 *
 * 这时再操作数组,根本就没有数组对象给你操作,程序就无法做出正确的反应,只能报错,终止程序.
 *
 * 空指针异常就不是数组的专属异常了,只要是引用数据类型,只要它可以等于null,那么它都可能产生空指针异常
 *
 * 空指针异常（NullPointerExceptionE），简称NPE，是Java之中最负盛名的异常，没有之一。
 * 以后大家会天天和引用数据类型打交道，也会每天和空指针异常打交道。
 * 空指针异常在多数情况下是有害的，会导致程序意外终止，避免空指针异常是Java程序员的必修课之一。
 * 常见的、最简单朴实的规避手段就是通过if进行判断，判断出引用不会指向null后再使用引用操作对象。
 * 
 * @since 11:31
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        /*// 动态初始化一个数组
        int[] arr = _1new int[3];
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

        // 数组等于null,表示没有指向数组对象,而是指向了虚无
        int[] arr2 = null;
        // Method invocation 'length' will produce 'NullPointerException'
        System.out.println(arr2[0]);*/
        String str = null;
        if (str != null){
            System.out.println(str.length());
        }
        System.out.println("666666666666666");
    }
}
